Repository navigation
[UX] Show No quota and No balance when provisioning fails - #4372
Open
peterschmidt85 wants to merge 1 commit into
Open
peterschmidt85 wants to merge 1 commit into
peterschmidt85 wants to merge 1 commit into
Conversation
peterschmidt85
marked this pull request as ready for review
October 16, 2026 08:09
Collaborator
Is this addressed? |
peterschmidt85
marked this pull request as draft
October 16, 2026 10:36
peterschmidt85
force-pushed
the
issue_496_quota_balance_provisioning
branch
from
October 17, 2026 11:48
a79f3ec to
ce3a87b
Compare
peterschmidt85
marked this pull request as ready for review
October 17, 2026 11:48
Contributor
Author
|
@r4victor yes, addressed in ce3a87b:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Offers can show No quota / No balance while provisioning reports No offers / No capacity. In dstack Factory (including Sky), this makes quota and billing restrictions look like provider capacity problems.
Steps to reproduce
Use a Factory/Sky project with a
dstackbackend, positive owner balance, no reusable instances, and available Nebius H100 offers matchingcpu: 8... Ensure no other matching offers are usable.Set the project's CPU quota to
4; matching offers should showno_quota.Apply this
fleet.yml:Apply this
task.yml, confirm submission, and inspect the failed run/job:To exercise fleet-instance provisioning, apply another fleet with the same resources, a different name, and
nodes: 1; inspect its terminated instance.Repeat with sufficient quota and zero owner balance for
no_balance. Use another available provider/GPU if needed.Actual behaviour
Expected behaviour
Show No quota / No balance when no usable offers remain and all matching rejected offers share that reason. Keep the generic failure for mixed blockers or failed provisioning attempts.
CLI status text:
Notes
Availability filtering currently discards rejected offers before provisioning can inspect their reason.
get_offers_by_requirements()now returns anOffersresult containing selected offers and an optional common rejection reason, using the same matching rules and one lookup.Backward compatibility
For rolling deployments, keep storing the existing job reason
FAILED_TO_START_DUE_TO_NO_CAPACITYand instance reasonNO_OFFERS. PutNo quota/No balancein the existingtermination_reason_message. Older replicas can read these rows; their status text remains generic.New enums and their status/retry/cleanup handling are included, but the new values are not emitted. TODOs defer emission until a future release establishes a minimum supported upgrade version that handles them on every replica.